package 第四章控制语句;
/*
    1、循环结构：
        如果在程序中有一些需要反复执行的代码，这时候需要用到循环语句，
        将反复执行的代码片段放入"循环体"中，再联合计数器，共同控制这段需要反复执行的代码。
    2、基本上的所有的编程语言包括三种：
        for循环
        while循环
        do...while循环
    3、for循环示例：
        语法结构：
            for（初始化表达式；布尔表达式；更新表达式）{
                //需要重复执行的代码片段（这就是循环体，由java语句构成）
            }
     4、for循环的执行过程/执行原理     *****非常重要的知识点*****
        4.1、 初始化表达式；布尔表达式；更新表达式,都不是必须的！（但是分号必须写）
        4.2、初始化表达式最先执行，并且在整个for循环中只执行一次。
        4.3、布尔表达式只能是true或者false
        4.4、for的执行过程：

            *先执行初始化表达式，并且只执行一次
            *判断布尔表达式的结果是true还是false
                -布尔表达式为true
                    *执行循环体
                    *执行更新表达式
                    *判断布尔表达式的true还是false
                        -布尔表达式为true
                             *执行循环体
                             *执行更新表达式
                             *判断布尔表达式的true还是false
                                    -布尔表达式为true
                                        *执行循环体
                                        *执行更新表达式
                                        *判断布尔表达式的true还是false
                                                .
                                                .
                                                .
                                    -布尔表达式为false
                                        *循环结束
                        -布尔表达式为false
                              *循环结束
                -布尔表达式为fasle
                    *循环结束


 */

public class ForTest01 {
    public static void main(String[] args) {
        //需求：输出数字一到十
        //常规写法              代码效率低
        System.out.println(1);
        System.out.println(2);
        System.out.println(3);
        System.out.println(4);
        System.out.println(5);
        System.out.println(6);
        System.out.println(7);
        System.out.println(8);
        System.out.println(9);
        System.out.println(10);
        System.out.println("——————————————————");

        //利用for循环来代替以上写法
        //使用循环可以是代码量变少
        for (int a = 1; a <= 10; a++) {            // a=a+1 a+=1都可以
            System.out.println(a);                  //循环十次，从1-10 若改成a<10,则为9次，从1-9
        }
        //死循环
        //int a=0；                 //a的作用域在main方法中，在for循环中也可以访问，但是在for循环结束后，a的值会被保留，循环结束后的值为11
        // for(int a=0;;a++){                        //a变量的作用域只在当前for循环，但是不能用在main方法中访问
        // System.out.println(a);
    }

}


